For several decades automated systems have existed to aid in the creation and revision of documents. One example of such a system in the late 1950's and early 1960's was called a power typing system and allowed the storage of an alphanumeric text document on a punched paper tape or magnetic tape. Editing with such a system involved use of the machine to punch a new paper tape or make a new recording of the same or another magnetic tape to result in a revised form of the document. Such systems have evolved from very expensive, hard to use, substantially purely electromechanical machines to the present day personal computers which, when programmed with any of a variety of easy to learn, flexible software products, enable relative beginners to create and revise documents of impressive presentation quality.
When one ends the task of revising a document, depending on the facts and circumstances surrounding the job, in some instances it is highly advantageous to return to the beginning of the document at the start of the next succeeding revision on the document. At other times, however, and particularly if no actual revision of the document will take place until the point is reached in the document where revision was ended during the last revision pass, it would be more advantageous to return to point in the document at which the previous editing session ended, rather than returning to the beginning of the document. For an example of the later situation consider a scenario in which one has worked halfway through page 15 during the revision of a 30 page document when it is necessary to end the revision of the document at this point to pursue another task with the computer system of more immediate urgency. When the operator is able to return to the revision of this document, the earliest point in the document at which any revision will occur is at the point at which the previous revision session was ended, which is halfway down page 15 of the 30 page document. In this situation, it will be understood that a function or facility to return to the point of previous revision would have great utility.
On the other hand, when a user finishes a revision session at the end of a document, it would be of little use, and in fact a nuisance, for the next subsequent revision session to automatically enter the document at the end of the document.
A number of prior word processing systems have attempted to address this problem. One such word processing system allowed a return in the document to the beginning of the page on which the previous revision session ended. This approach was useful in most cases in which the document had already been divided into pages; however, in a great number of instances documents may be created and have several revisions performed thereon as a single, very large page, rather than as a series of shorter pages. Thus, in this prior art system, a return to the page on which the last revision took place is often a return to the beginning of the document.
With another prior art technique related to a spreadsheet, it was possible to have the revision point return to the cell which was being edited at the conclusion of the previous pass, but in this case, to the end of the cell which was last edited. With both this technique and the one described immediately above, if the last, previous revision point happened to be the beginning of the page (first example) or at the end of the spreadsheet cell (second example) then editing did return to where it was previously ended. However, if editing previously ended somewhere other than at the beginning of a page or at the end of the spreadsheet cell, then editing did not return to the last previous edit point in the document. Thus, the shortcoming with both of these approaches wa that editing could not be guaranteed to return to the smallest revisable entity in the document.
With another prior art technique a pointer was kept, in the random access memory of the programmed computer system, of an address point where revision most recently took place in the most recently edited document. This approach was useful in those instances in which an operator suspended revision to perform another type of computer task and returned to revision of the document before other documents were revised or electrical power to the system was interrupted. In the event that a second job were revised between suspension of revision of the first job and return of the revision thereto, the most recent revision point of the second job would overwrite the most recent revision point of the first job in the random access memory and render a return to the last revision point in the first job impossible. It will further be understood that interruption of the system power, such as by turning the system off at the end of the day, will also destroy the pointer to the revision location saved in the random access memory. For that matter, if the system is for any reason reinitialized or IPL'ed (initial program loaded) without the interruption of power, the memory contents will obviously be lost.
As a refinement to the technique of saving the most recent revision location in the system random access memory, another technique has been to record this revision address on the media which stores the word processing program, in association with the word processing program, itself. This overcomes the problems that occur when the power is interrupted or the system is IPL'ed but does not overcome the problem of having an intervening document revised, because only the most recent revision address of the most recently revised document is recorded on the storage media with the word processing program. An additional shortcoming of this third technique arises when the revision of a document is transferred from one operator to another. Typically, each operator has associated with his or her computer system a separate word processing program which is not transferred from operator to operator. Thus, assuming only the document were transferred and not the word processing programs themselves, the point of most recent revision of the document transferred from one operator to another for editing would not be readily available to the second operator.
In view of this, it will be understood that the provision of a technique for selectively returning to the smallest revisable entity of the most recent revision of a document, in a manner which allows the document to be transferred from one user to another and is not dependent on the volatile memory of the computer system used for revision, would add greatly to the power and flexibility of any system capable of document revision.